load("@rules_java//java:defs.bzl", "java_library")
load("//:cel_android_rules.bzl", "cel_android_library")

package(
    default_applicable_licenses = ["//:license"],
    default_visibility = ["//visibility:public"],
)

java_library(
    name = "types",
    exports = ["//common/src/main/java/dev/cel/common/types"],
)

java_library(
    name = "cel_internal_types",
    visibility = ["//:internal"],
    exports = ["//common/src/main/java/dev/cel/common/types:cel_internal_types"],
)

java_library(
    name = "json",
    visibility = [
        "//:internal",
    ],
    exports = ["//common/src/main/java/dev/cel/common/types:json"],
)

java_library(
    name = "type_providers",
    exports = ["//common/src/main/java/dev/cel/common/types:type_providers"],
)

java_library(
    name = "message_type_provider",
    exports = ["//common/src/main/java/dev/cel/common/types:message_type_provider"],
)

java_library(
    name = "cel_types",
    exports = ["//common/src/main/java/dev/cel/common/types:cel_types"],
)

java_library(
    name = "cel_proto_types",
    exports = ["//common/src/main/java/dev/cel/common/types:cel_proto_types"],
)

java_library(
    name = "cel_proto_message_types",
    exports = ["//common/src/main/java/dev/cel/common/types:cel_proto_message_types"],
)

java_library(
    name = "cel_v1alpha1_types",
    visibility = ["//:internal"],
    exports = ["//common/src/main/java/dev/cel/common/types:cel_v1alpha1_types"],
)

cel_android_library(
    name = "cel_types_android",
    exports = ["//common/src/main/java/dev/cel/common/types:cel_types_android"],
)

cel_android_library(
    name = "types_android",
    exports = ["//common/src/main/java/dev/cel/common/types:types_android"],
)

cel_android_library(
    name = "type_providers_android",
    exports = ["//common/src/main/java/dev/cel/common/types:type_providers_android"],
)

cel_android_library(
    name = "cel_proto_types_android",
    exports = ["//common/src/main/java/dev/cel/common/types:cel_proto_types_android"],
)
